您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种CPLD及其实现信号电平转换的方法

  • 申请号:CN201210184574.X 申请公布号: CN102723943B
  • 申请日: 2012-06-06 申请公布日: 2015-08-05
  • 申请(专利权)人: 专利代理机构: 北京安信方达知识产权代理有限公司
  • 分类号:H03K19/0175;G05B19/05

专利介绍

本发明公开了一种CPLD及其实现信号电平转换的方法,涉及CPLD技术。本发明公开的方法包括:CPLD中第一bank接入信号时,调用该第一bank上的输入模块对所接入的信号进行时钟数据对齐处理,再输入到第二bank上的输出模块,该输出模块对收到的信号进行时钟数据对齐处理后由第二bank输出,其中,所述第一bank和第二bank的接口电平不同,所述第一bank上的输入模块和第二bank上的输出模块采用的时钟数据对齐处理方式相同或不同。本发明还公开了一种复杂可编程逻辑器。本申请技术方案通过CPLD内部高速通用DDR接口实现了信号电平转换,该方案能够严格控制信号时序,且实现简单可靠,配置灵活。
1.一种复杂可编程逻辑器CPLD实现信号电平转换的方法,其特征在于,该方法包括:CPLD中第一bank接入信号时,调用该第一bank上的输入模块对所接入的信号进行时钟数据对齐处理,再输入到第二bank上的输出模块,该输出模块对收到的信号进行时钟数据对齐处理后由第二bank输出,其中,所述第一bank和第二bank的接口电平不同,所述第一bank上的输入模块和第二bank上的输出模块采用的时钟数据对齐处理方式相同或不同;其中,所述时钟数据对齐处理方式包括时钟数据边沿对齐和时钟数据中间对齐;所述第一bank上的输入模块采用时钟数据边沿对齐处理方式时,对所接入的信号进行时钟数据对齐处理的过程如下:对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入到所述输入模块中的双倍数据传输DDR输入单元,同时将所接入的信号中的数据延迟到所述系统时钟的输入时间后输入到所述DDR输入单元,所述DDR输入单元接收延迟后发送的数据,同步于所述系统时钟输出数据;所述第一bank上的输入模块采用时钟数据中间对齐处理方式时,对所接入的信号进行时钟数据对齐处理的过程如下:将所接入的信号中的时钟作为系统时钟直接输入到所述输入模块中的DDR输入单元,同时将所接入的信号中的数据延迟到所述系统时钟的输入时间后输入到所述DDR输入单元,所述DDR输入单元接收延迟后发送的数据,同步于系统时钟输出数据;所述第二bank上的输出模块采用时钟数据边沿对齐处理方式时,对收到的信号进行时钟数据对齐处理的过程如下:将收到的数据输入到所述输出模块中的第一DDR输出单元,将系统时钟分别输入到所述输出模块中的第一DDR输出单元和第二DDR输出单元,所述第一DDR输出单元根据所述系统时钟将输入的数据处理后输出,所述第二DDR输出单元则根据输入的系统时钟和第一DDR输出单元输出的数据输出时钟;所述第二bank上的输出模块采用时钟数据中间对齐处理方式时,对收到的信号进行时钟数据对齐处理的过程如下:将系统时钟生成相位相差90度的两个时钟,将这两个时钟分别输入到所述输出模块中的第一DDR输出单元和第二DDR输出单元,所述第一DDR输出单元按照所输入的时钟将输入的数据处理后输出,所述第二DDR输出单元按照输入的时钟输出时钟。
2.如权利要求1所述的方法,其特征在于,所述输入模块对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入所述DDR输入单元的过程如下:所述输入模块采用延迟锁定环单元,根据接入的信号中的时钟以及所述CPLD当前的系统时钟计算出接入的信号中的时钟产生90度相移所需的延迟时间,再按照所述计算出的延迟时间对所接入的信号中的时钟进行延迟后输入到所述DDR输入单元。
3.如权利要求1或2所述的方法,其特征在于,所述输入模块中的DDR输入单元包括一路或多路DDR元件,其中,每一路DDR元件串行接收延迟后的1比特数据,同步于所述系统时钟并行输出2比特数据宽度的数据。
4.如权利要求1所述的方法,其特征在于,所述输出模块中的第一DDR输出单元包括一路或多路DDR元件,其中,每一路DDR元件并行接收2比特数据,并按照所输入的时钟将并行接收的2比特数据以1比特串行输出。
5.一种复杂可编程逻辑器CPLD,其特征在于,该复杂可编程逻辑器包括多个接口电平不同的bank,每个bank至少包括输入模块和输出模块,其中:所述输入模块,在该bank接入信号时,对所接入的信号进行时钟数据对齐处理,再输入到对端bank上的输出模块;所述输出模块,在该bank收到其他bank处理后的信号时,对收到的信号进行时钟数据对齐处理后由该bank输出;其中,每个bank上的输入模块和其对端bank上的输出模块采用的时钟数据对齐处理方式相同或不同;所述时钟数据对齐处理方式包括时钟数据边沿对齐和时钟数据中间对齐;所述输入模块采用时钟数据边沿对齐处理方式时,至少包括延迟锁定环单元、延迟单元和双倍数据传输DDR输入单元:所述延迟锁定环单元,对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入到所述DDR输入单元;所述延迟单元,将所接入的信号中的数据延迟到所述系统时钟的输入时间后串行输入到所述DDR输入单元;所述DDR输入单元,接收延迟后发送的数据,同步于所述系统时钟输出数据;所述输入模块采用时钟数据中间对齐处理方式时,所述输入模块至少包括延迟单元和DDR输入单元:所述DDR输入单元,将所接入的信号中的时钟作为系统时钟进行接收,并接收延迟后发送的数据,同步于所述系统时钟输出数据;所述延迟单元,将所接入的信号中的数据延迟到所述系统时钟的输入时间后串行输入到所述DDR输入单元;所述输出模块采用时钟数据边沿对齐处理方式时,所述输出模块至少包括第一DDR输出单元和第二DDR输出单元,其中:所述第一DDR输出单元,接收其他bank处理后的数据,并根据系统时钟对接收的数据处理后输出;所述第二DDR输出单元,根据系统时钟和第一DDR输出单元串行输出的数据输出时钟;所述输出模块采用时钟数据中间对齐处理方式时,所述输出模块至少包括锁相回路处理单元、第一DDR输出单元和第二DDR输出单元,其中:所述锁相回路处理单元,将系统时钟生成相位相差90度的两个时钟,并将这两个时钟分别输入到所述第一DDR输出单元和第二DDR输出单元;所述第一DDR输出单元,接收其他bank处理后的数据,并按照所输入的时钟对接收的数据处理后输出;所述第二DDR输出单元,按照输入的时钟输出时钟。
6.如权利要求5所述的复杂可编程逻辑器,其特征在于,所述DDR输入单元包括一路或多路DDR元件,其中,每一路DDR元件串行接收延迟后的1比特数据,同步于所述系统时钟并行输出2比特数据宽度的数据。
7.如权利要求5所述的复杂可编程逻辑器,其特征在于,所述第一DDR输出单元包括一路或多路DDR元件,其中,每一路DDR元件并行接收2比特数据,并按照所输入的时钟将并行接收的2比特数据以1比特串行输出。技术领域
本发明涉及CPLD(Complexxa0Programmablexa0Logicxa0Device,复杂可编程逻辑器)技术,具体涉及一种CPLD及其实现信号电平转换的方法。
背景技术
不同芯片之间的某个接口信号可能工作于不同的电平,因此,电平不兼容的芯片一般需要通过CPLD进行对接。目前常用的对接方式是根据CPLD的各个bank的电平不同,将接口信号通过CPLD的两个bank的引脚直通来实现电平转换。但经过分析可知,该方式中各信号通道的延时没有办法保证一致,存在信号时序问题。
发明内容
本发明所要解决的技术问题是,提供一种CPLD及其实现信号电平转换的方法,以保证电平不兼容的芯片通过CPLD对接时信号时序一致。为了解决上述技术问题,本发明公开了一种复杂可编程逻辑器(CPLD)实现信号电平转换的方法,包括:CPLD中第一bank接入信号时,调用该第一bank上的输入模块对所接入的信号进行时钟数据对齐处理,再输入到第二bank上的输出模块,该输出模块对收到的信号进行时钟数据对齐处理后由第二bank输出,其中,所述第一bank和第二bank的接口电平不同,所述第一bank上的输入模块和第二bank上的输出模块采用的时钟数据对齐处理方式相同或不同。较佳地,上述方法中,所述时钟数据对齐处理方式包括时钟数据边沿对齐和时钟数据中间对齐。较佳地,上述方法中,所述第一bank上的输入模块采用时钟数据边沿对齐处理方式时,对所接入的信号进行时钟数据对齐处理的过程如下:对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入到所述输入模块中的双倍数据传输(DDR)输入单元,同时将所接入的信号中的数据延迟到所述系统时钟的输入时间后输入到所述DDR输入单元,所述DDR输入单元接收延迟后发送的数据,同步于所述系统时钟输出数据。较佳地,上述方法中,所述输入模块对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入所述DDR输入单元的过程如下:所述输入模块采用延迟锁定环单元,根据接入的信号中的时钟以及所述CPLD当前的系统时钟计算出接入的信号中的时钟产生90度相移所需的延迟时间,再按照所述计算出的延迟时间对所接入的信号中的时钟进行延迟后输入到所述DDR输入单元。较佳地,上述方法中,所述第一bank上的输入模块采用时钟数据中间对齐处理方式时,对所接入的信号进行时钟数据对齐处理的过程如下:将所接入的信号中的时钟作为系统时钟直接输入到所述输入模块中的DDR输入单元,同时将所接入的信号中的数据延迟到所述系统时钟的输入时间后输入到所述DDR输入单元,所述DDR输入单元接收延迟后发送的数据,同步于系统时钟输出数据。较佳地,上述方法中,所述输入模块中的DDR输入单元包括一路或多路DDR元件,其中,每一路DDR元件串行接收延迟后的1比特数据,同步于所述系统时钟并行输出2比特数据宽度的数据。较佳地,上述方法中,所述第二bank上的输出模块采用时钟数据边沿对齐处理方式时,对收到的信号进行时钟数据对齐处理的过程如下:将收到的数据输入到所述输出模块中的第一DDR输出单元,将系统时钟分别输入到所述输出模块中的第一DDR输出单元和第二DDR输出单元,所述第一DDR输出单元根据所述系统时钟将输入的数据处理后输出,所述第二DDR输出单元则根据输入的系统时钟和第一DDR输出单元输出的数据输出时钟。较佳地,上述方法中,所述第二bank上的输出模块采用时钟数据中间对齐处理方式时,对收到的信号进行时钟数据对齐处理的过程如下:将系统时钟生成相位相差90度的两个时钟,将这两个时钟分别输入到所述输出模块中的第一DDR输出单元和第二DDR输出单元,所述第一DDR输出单元按照所输入的时钟将输入的数据处理后输出,所述第二DDR输出单元按照输入的时钟输出时钟。较佳地,上述方法中,所述输出模块中的第一DDR输出单元包括一路或多路DDR元件,其中,每一路DDR元件并行接收2比特数据,并按照所输入的时钟将并行接收的2比特数据以1比特串行输出。本发明还公开了一种复杂可编程逻辑器(CPLD),包括多个接口电平不同的bank,每个bank至少包括输入模块和输出模块,其中:所述输入模块,在该bank接入信号时,对所接入的信号进行时钟数据对齐处理,再输入到对端bank上的输出模块;所述输出模块,在该bank收到其他bank处理后的信号时,对收到的信号进行时钟数据对齐处理后由该bank输出;其中,每个bank上的输入模块和其对端bank上的输出模块采用的时钟数据对齐处理方式相同或不同。较佳地,上述复杂可编程逻辑器中,所述时钟数据对齐处理方式包括时钟数据边沿对齐和时钟数据中间对齐。较佳地,上述复杂可编程逻辑器中,所述输入模块采用时钟数据边沿对齐处理方式时,至少包括延迟锁定环单元、延迟单元和双倍数据传输(DDR)输入单元:所述延迟锁定环单元,对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入到所述DDR输入单元;所述延迟单元,将所接入的信号中的数据延迟到所述系统时钟的输入时间后串行输入到所述DDR输入单元;所述DDR输入单元,接收延迟后发送的数据,同步于所述系统时钟输出数据。较佳地,上述复杂可编程逻辑器中,所述输入模块采用时钟数据中间对齐处理方式时,所述输入模块至少包括延迟单元和DDR输入单元:所述DDR输入单元,将所接入的信号中的时钟作为系统时钟进行接收,并接收延迟后发送的数据,同步于所述系统时钟输出数据;所述延迟单元,将所接入的信号中的数据延迟到所述系统时钟的输入时间后串行输入到所述DDR输入单元。较佳地,上述复杂可编程逻辑器中,所述DDR输入单元包括一路或多路DDR元件,其中,每一路DDR元件串行接收延迟后的1比特数据,同步于所述系统时钟并行输出2比特数据宽度的数据。较佳地,上述复杂可编程逻辑器中,所述输出模块采用时钟数据边沿对齐处理方式时,所述输出模块至少包括第一DDR输出单元和第二DDR输出单元,其中:所述第一DDR输出单元,接收其他bank处理后的数据,并根据系统时钟对接收的数据处理后输出;所述第二DDR输出单元,根据系统时钟和第一DDR输出单元串行输出的数据输出时钟。较佳地,上述复杂可编程逻辑器中,所述输出模块采用时钟数据中间对齐处理方式时,所述输出模块至少包括锁相回路处理单元、第一DDR输出单元和第二DDR输出单元,其中:所述锁相回路处理单元,将系统时钟生成相位相差90度的两个时钟,并将这两个时钟分别输入到所述第一DDR输出单元和第二DDR输出单元;所述第一DDR输出单元,接收其他bank处理后的数据,并按照所输入的时钟对接收的数据处理后输出;所述第二DDR输出单元,按照输入的时钟输出时钟。较佳地,上述复杂可编程逻辑器中,所述第一DDR输出单元包括一路或多路DDR元件,其中,每一路DDR元件并行接收2比特数据,并按照所输入的时钟将并行接收的2比特数据以1比特串行输出。本申请技术方案通过CPLD内部高速通用DDR(Doublexa0Dataxa0Rate,双倍数据传输)接口实现了信号电平转换,该方案能够严格控制信号时序,并且实现起来简单可靠,配置灵活。
附图说明
图1(a)为现有时钟数据边沿对齐方式示意图;图1(b)为现有时钟数据中间对齐方式示意图;图2为本实施例中实现RGMII信号电平转换的示意图;图3(a)为本实施例中实现RGMII信号电平转换的一种CPLD结构示意图;图3(b)为本实施例中实现RGMII信号电平转换的另一种CPLD结构示意图;图4为图3所示CPLD中采用边沿对齐方式的输入模块原理图;图5为图3所示CPLD中采用边沿对齐方式的输出模块原理图;图6为图3所示CPLD中采用中间对齐方式的输出模块原理图;图7为图3所示CPLD中采用中间对齐方式的输入模块原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。实施例1本案申请人发现电平不兼容的芯片通过CPLD对接时,可能造成信号时序不一致的问题。例如,简化的吉比特媒体独立接口称为RGMII(Reducedxa0Gigabitxa0Mediaxa0Independentxa0Interface),其采用8位数据接口,工作时钟为125MHz,传输速率可达1000Mbps,并且同时兼容MII所规定的10/100Mbps的工作方式。RGMII接口使得实现MAC(Mediaxa0Accessxa0Control,媒体访问控制器)和PHY(物理层)之间的通信接口引脚数从25个减少到12个,降低了电路成本,且应用广泛。但是,MAC芯片和PHY芯片的RGMII接口工作于不同的电平,这一现象造成了RGMII对接问题。并且,本案申请人还发现,如果用目前常用的解决方法,即根据CPLD的各个bank的电平不同,将RGMII信号通过CPLD的两个bank的引脚直通来实现电平转换。这样,各信号通道的延时没有办法保证一致,会存在信号时序问题。基于上述发现,申请人提出,可以运用CPLD具有的高速通用DDR接口来实现信号的输入输出,且CPLD各bank的供电电压可以不相同,以完成信号的电平转换,实现不同电平的RGMII之间的双向数据传送。需要说明的是,本文中所提到的输入输出方向均是相对CPLD来说的。具体地,本实施例提供的CPLD实现信号电平转换的方法包括如下操作:CPLD中第一bank接入信号时,调用该第一bank上的输入模块对所接入的信号进行时钟数据对齐处理,再输入到第二bank上的输出模块,该输出模块对收到的信号进行时钟数据对齐处理后由第二bank输出,其中,第一bank和第二bank的接口电平不同,第一bank上的输入模块和第二bank上的输出模块采用的时钟数据对齐处理方式相同或不同。而目前针对高速接口一般有两种时钟数据对齐处理方式,如图1所示。图1(a)所示为时钟数据边沿对齐(aligned或edge-on-edge),图1(b)所示则为时钟数据中间对齐(centered)。例如,输入模块采用时钟数据边沿对齐处理方式时,输入模块对所接入的信号中的时钟进行90度相移操作后作为系统时钟输入到本输入模块中的双倍数据传输(DDR)输入单元,同时将所接入的信号中的数据延迟到系统时钟的输入时间后串行输入到DDR输入单元,而DDR输入单元接收延迟后发送的数据,同步于所述系统时钟输出数据即可。其中,输入模块可采用延迟锁定环单元对所接入的信号中的时钟进行90度相移操作。即延迟锁定环单元根据接入的信号中的时钟以及CPLD当前的系统时钟计算出接入的信号中的时钟产生90度相移所需的延迟时间,再按照所计算出的延迟时间对所接入的信号中的时钟进行延迟后输入到DDR输入单元即可。又如,输入模块采用时钟数据中间对齐处理方式时,输入模块可以将所接入的信号中的时钟作为系统时钟直接输入到本输入模块中的DDR输入单元,同时将所接入的信号中的数据延迟到系统时钟的输入时间后输入到DDR输入单元,而DDR输入单元接收延迟后发送的数据,同步于系统时钟输出数据即可。需要指出的是,上述输入模块无论采用时钟数据边沿对齐处理方式,或是采用时钟数据中间对齐处理方式,其中的DDR输入单元均可由一路或多路DDR元件构成。各路DDR元件之间为并行关系,而针对每一路DDR元件而言,该DDR元件串行接收延迟后发送的1比特数据,同步于系统时钟后并行输出2比特数据宽度的数据。之所以采用多路DDR元件是考虑到某些场景中,需要提高数据处理能力,故采用了此种多路DDR元件同时进行数据处理的方式。具体地如何选择DDR元件的数目可由实际应用场景和需求来确定。而上述输出模块采用时钟数据边沿对齐处理方式时,将收到的数据输入到本输出模块中的第一DDR输出单元,将系统时钟分别输入到本输出模块中的第一DDR输出单元和第二DDR输出单元,此时,第一DDR输出单元根据系统时钟将输入的数据处理后输出,第二DDR输出单元则根据输入的系统时钟和第一DDR输出单元串行输出的数据输出时钟。上述输出模块也可以采用时钟数据中间对齐处理方式,此时,先将系统时钟生成相位相差90度的两个时钟,再将这两个时钟分别输入到本输出模块中的第一DDR输出单元和第二DDR输出单元,第一DDR输出单元按照所输入的时钟将输入的数据处理后输出,第二DDR输出单元则按照输入的时钟输出时钟。与输入模块同理,上述输出模块无论采用时钟数据边沿对齐处理方式,或是采用时钟数据中间对齐处理方式,其中的第一DDR输出单元均可由一路或多路DDR元件构成。各路DDR元件之间为并行关系,而针对每一路DDR元件而言,该DDR元件将并行输入的2比特数据以1比特串行输出即可。之所以采用多路DDR元件是考虑到某些场景中,需要提高数据处理能力,故采用了此种多路DDR元件同时进行数据处理的方式。具体地如何选择DDR元件的数目可由实际应用场景和需求来确定。下面结合图2所示的具体应用为例,具体说明上述信号电平转换的过程。如图2所示,CPLD芯片的Bank3的各引脚电压为V0,bankl的各引脚电压为V1,当RGMII信号从PHY端到MAC端时,RGMII信号通过CPLD后由V0转换为V1,反过来RGMII信号通过CPLD后由V1转换为V0。具体地,RGMII信号从PHY到MAC时,时钟数据边沿对齐的RGMII信号输入到CPLD,然后中间对齐输出给MAC芯片;RGMII信号从MAC到PHY时,时钟数据中间对齐的RGMII信号输入到CPLD,然后边沿对齐输出给PHY芯片。需要说明的是,输入方向的两种对齐方式可任意搭配输出方向的两种对齐方式,使用时可根据MAC芯片和PHY芯片的具体要求来设计。也就是说本申请并不限于一种组合方式。例如,可以边沿对齐输入后边沿对齐输出,也可以中间对齐输入后中间对齐输出。实施例2本实施例介绍一种CPLD,其包括多个接口电平不同的bank,每个bank至少包括有输入模块和输出模块。输入模块,主要在该bank接入信号时,对所接入的信号进行时钟数据对齐处理,再输入到对端bank上的输出模块。输出模块,主要在该bank收到其他bank处理后的信号时,对收到的信号进行时钟数据对齐处理后由该bank输出。而每个bank上的输入模块和其对端bank上的输出模块采用的时钟数据对齐处理方式相同或不。图3(a)所示为上述CPLD的一种具体实现方式,但本申请并不限于此种实现方式。例如,在其他实现方式中,可以先采用边沿对齐输入后再采用边沿对齐输出,也可以先采用中间对齐输入后再采用中间对齐输出,此时CPLD的具体实现方式可参见图3(b)。还要说明的是,由于每组RGMII信号共有6根信号线,一根时钟线,一根控制线和四根数据线。RGMII对控制信号的采样和对数据信号的采样都是在时钟的上下沿分别进行采样,故在RGMII信号输入或输出CPLD时,控制信号线和数据信号线的操作是相同的,即每组RGMII信号可以看作一根时钟线和五根数据线。因此,在图3每组RGMII信号的数据线都只画出一路作示意,其它三根数据线和控制线的信号采样及控制都是一样的。下面结合图3,详细介绍上述CPLD中分部分的原理。图4所示为采用时钟数据边沿对齐处理方式的输入模块,该模块包括DDR输入单元(即为图中IDDRXE)、DQSDLLC和DLLDELC共同组成DLL(Delayxa0Lockxa0Loop,延迟锁定环)单元以及DELAYE(Delayxa0Element,延迟单元)。其中,DLL单元用于产生90°的相移使接入信号中的时钟作为系统时钟SCLK(Systemxa0Clock)边沿中间对齐数据,保证足够的建立保持时间。DELAYE,则用于调整数据延迟来适应系统时钟的输入时间。IDDRXE(Inputxa0DDRxa0Element),用于接收接入信号中的DDR数据,并且同步于SCLK输出数据即可。其中,DLL中的DQSDLLC根据接入的信号中的时钟以及CPLD当前的系统时钟计算出接入的信号中的时钟产生90度相移所需的延迟时间,而DLL中的DLLDELC则按照所计算出的延迟时间对所接入的信号中的时钟进行延迟后输入到DDR输入单元。而采用时钟数据边沿对齐处理方式的输出模块,如图5所示,包括第一DDR输出单元和第二DDR输出单元。要求第二DDR输出单元输出的时钟和第一DDR输出单元数据是边沿对齐的。其中,第一DDR输出单元,根据系统时钟将输入的数据处理后输出(即为图5中A_RGMII_TXD[i])。具体地,第一DDR输出单元在SCLK的上升沿输出D0的值,在下降沿输出D1的值。而第二DDR输出单元,根据系统时钟和第一DDR输出单元串行输出的数据输出时钟(即A_CLKou)。DDR的时钟B_CLKout和数据B_RGMII_TXD[i]中间对齐输出的原理如图6所示:采用时钟数据中间对齐处理方式的输出模块,如图6所示,包括PLL(Phasexa0Lockxa0Loop,锁相回路)处理单元、第一DDR输出单元和第二DDR输出单元。PLL处理单元,主要是将SCLK生成两个相位相差90°的时钟clkop和clkos,其中clkop和clkos分别用于驱动用于时钟输出的第二ODDRXE(Outputxa0DDRxa0Element)和用于数据输出的第一ODDRXE,以保证输出的数据和时钟是中间对齐的。此时,用于数据输出的第一ODDRXE,按照所输入的时钟将接收的数据处理后输出。用于时钟输出的第二DDR输出单元,则按照输入的时钟直接输出时钟。需要说明的是,驱动用于时钟输出的第二ODDRXE的clk较驱动用于数据输出的第一ODDRXE的clk延迟90度。采用时钟数据中间对齐处理方式的输入模块,如图7所示,该输入模块包括延迟单元和DDR输入单元。其中,延迟单元,将所接入的信号中的数据(即为图7中数据B_RGMII_RXD[i])延迟到系统时钟的输入时间后串行输入到DDR输入单元,即延迟单元主要确保与SCLK到达IDDRXE模块时的延时相匹配。而DDR输入单元,将所接入的信号中的时钟(即为图7中B_CLKin)作为系统时钟进行接收,并接收延迟单元发送的数据,同步于系统时钟输出数据即可。需要说明的是,上述实施例中所涉及的各附图仅为示意图。例如,在实际应用中上述图4和图7中DDR输入单元一般是由一路或多路DDR元件构成的。各路DDR元件之间为并行关系,而针对每一路DDR元件而言,该DDR元件串行接收延迟后发送的1比特数据,同步于系统时钟后并行输出2比特数据宽度的数据。之所以采用多路DDR元件是考虑到某些场景中,需要提高数据处理能力,故采用了此种多路DDR元件同时进行数据处理的方式。具体地如何选择DDR元件的数目可由实际应用场景和需求来确定。同样的,在实际应用中,上述图5和图6中第一DDR输出单元一般是由一路或多路DDR元件构成的。而针对每一路DDR元件而言,该DDR元件将并行输入的2比特数据以1比特串行输出即可。以上原理叙述中所涉及的IDDRXE,ODDRXE,DELAYE,PLL,DLLDELC以及DQSDLLC各模块,都是CPLD内部所有,如图3所示。在使用时只需调用相应的模块即可,无需复杂的编程,实现起来非常简单。除此之外,CPLD输入输出方向的时钟数据对齐方式可根据PHY芯片和MAC芯片的具体要求来灵活配置,可应用于多种场合。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。从上述实施例可以看出,本申请技术方案采用CPLD具有的高速通用DDR接口来实现不同电平的接口信号之间的双向数据传送,。该方案电路简单可靠,能够严格控制信号时序,并且成本低,功耗低。以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。